name: tests71 run_id: commands[0] env HOME: /home/jenkins env LANG: C.UTF-8 env PATH: /w/workspace/transportpce-tox-verify-transportpce-master/.tox/tests71/bin:/opt/pyenv/bin:/tmp/venv-erFo/bin:/opt/pyenv/shims:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin env PYTHONHASHSEED: 1888500588 env PIP_DISABLE_PIP_VERSION_CHECK: 1 env PYTHONIOENCODING: utf-8 env USE_ODL_ALT_KARAF_ENV: ./karaf71.env env USE_ODL_ALT_KARAF_INSTALL_DIR: karaf71 env TOX_ENV_NAME: tests71 env TOX_WORK_DIR: /w/workspace/transportpce-tox-verify-transportpce-master/.tox env TOX_ENV_DIR: /w/workspace/transportpce-tox-verify-transportpce-master/.tox/tests71 env VIRTUAL_ENV: /w/workspace/transportpce-tox-verify-transportpce-master/.tox/tests71 metadata pid: 41585 cwd: /w/workspace/transportpce-tox-verify-transportpce-master/tests allow: /w/workspace/transportpce-tox-verify-transportpce-master/.tox/tests71/bin/*:launch_tests.sh cmd: ./launch_tests.sh 7.1 exit_code: 1 using environment variables from ./karaf71.env pytest -q transportpce_tests/7.1/test01_portmapping.py FFFFFFFFFFFF [100%] =================================== FAILURES =================================== ______ TransportPCE400GPortMappingTesting.test_01_xpdr_device_connection _______ self = def test_01_xpdr_device_connection(self): response = test_utils.mount_device("XPDR-A2", ('xpdra2', self.NODE_VERSION)) > self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) E AssertionError: 401 != 201 : Http status code should be 201 transportpce_tests/7.1/test01_portmapping.py:50: AssertionError ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF TransportPCE build... Searching for pattern 'Transportpce controller started' in karaf.log... Pattern found! OpenDaylight started ! starting simulator xpdra2 in OpenROADM device version 7.1... Searching for pattern 'Data tree change listeners registered' in xpdra2-71.log... Pattern found! simulator for xpdra2 started ----------------------------- Captured stdout call ----------------------------- execution of test_01_xpdr_device_connection Searching for pattern 'Triggering notification stream NETCONF for node XPDR-A2' in karaf.log... Pattern not found after 180 seconds! Node XPDR-A2 still not added to tpce topology... _______ TransportPCE400GPortMappingTesting.test_02_xpdr_device_connected _______ self = def test_02_xpdr_device_connected(self): > response = test_utils.check_device_connection("XPDR-A2") transportpce_tests/7.1/test01_portmapping.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2' def check_device_connection(node: str): url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}?content=nonconfig', 'draft-bierman02': '{}/operational/network-topology:network-topology/topology/topology-netconf/node/{}'} response = get_request(url[RESTCONF_VERSION].format('{}', node)) res = response.json() return_key = {'rfc8040': 'network-topology:node', 'draft-bierman02': 'node'} if return_key[RESTCONF_VERSION] in res.keys(): connection_status = res[return_key[RESTCONF_VERSION]][0]['netconf-node-topology:connection-status'] else: > connection_status = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:376: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_02_xpdr_device_connected _______ TransportPCE400GPortMappingTesting.test_03_xpdr_portmapping_info _______ self = def test_03_xpdr_portmapping_info(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "node-info", None) transportpce_tests/7.1/test01_portmapping.py:61: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'node-info', value = None def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_03_xpdr_portmapping_info _____ TransportPCE400GPortMappingTesting.test_04_tpdr_portmapping_NETWORK1 _____ self = def test_04_tpdr_portmapping_NETWORK1(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR1-NETWORK1") transportpce_tests/7.1/test01_portmapping.py:74: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR1-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_04_tpdr_portmapping_NETWORK1 _____ TransportPCE400GPortMappingTesting.test_05_tpdr_portmapping_CLIENT1 ______ self = def test_05_tpdr_portmapping_CLIENT1(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR1-CLIENT1") transportpce_tests/7.1/test01_portmapping.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR1-CLIENT1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_05_tpdr_portmapping_CLIENT1 _____ TransportPCE400GPortMappingTesting.test_06_mpdr_portmapping_NETWORK1 _____ self = def test_06_mpdr_portmapping_NETWORK1(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-NETWORK1") transportpce_tests/7.1/test01_portmapping.py:113: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-NETWORK1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_06_mpdr_portmapping_NETWORK1 _____ TransportPCE400GPortMappingTesting.test_07_mpdr_portmapping_CLIENT1 ______ self = def test_07_mpdr_portmapping_CLIENT1(self): > res = test_utils.get_portmapping_node_attr("XPDR-A2", "mapping", "XPDR2-CLIENT1") transportpce_tests/7.1/test01_portmapping.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mapping', value = 'XPDR2-CLIENT1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_07_mpdr_portmapping_CLIENT1 ________ TransportPCE400GPortMappingTesting.test_08_check_mccapprofile _________ self = def test_08_check_mccapprofile(self): > res = test_utils.get_portmapping_node_attr("XPDR-A2", "mc-capabilities", "XPDR-mcprofile") transportpce_tests/7.1/test01_portmapping.py:151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'mc-capabilities', value = 'XPDR-mcprofile' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_08_check_mccapprofile ________ TransportPCE400GPortMappingTesting.test_09_mpdr_switching_pool ________ self = def test_09_mpdr_switching_pool(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "switching-pool-lcp", "1") transportpce_tests/7.1/test01_portmapping.py:158: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'switching-pool-lcp', value = '1' def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_09_mpdr_switching_pool _____ TransportPCE400GPortMappingTesting.test_10_xpdr_device_disconnection _____ self = def test_10_xpdr_device_disconnection(self): response = test_utils.unmount_device("XPDR-A2") > self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content)) E AssertionError: 401 not found in (200, 204) transportpce_tests/7.1/test01_portmapping.py:172: AssertionError ----------------------------- Captured stdout call ----------------------------- execution of test_10_xpdr_device_disconnection Searching for pattern 'onDeviceDisConnected:\ XPDR\-A2' in karaf.log... Pattern not found after 180 seconds! Node XPDR-A2 still not deleted from tpce topology... _____ TransportPCE400GPortMappingTesting.test_11_xpdr_device_disconnected ______ self = def test_11_xpdr_device_disconnected(self): > response = test_utils.check_device_connection("XPDR-A2") transportpce_tests/7.1/test01_portmapping.py:175: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2' def check_device_connection(node: str): url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}?content=nonconfig', 'draft-bierman02': '{}/operational/network-topology:network-topology/topology/topology-netconf/node/{}'} response = get_request(url[RESTCONF_VERSION].format('{}', node)) res = response.json() return_key = {'rfc8040': 'network-topology:node', 'draft-bierman02': 'node'} if return_key[RESTCONF_VERSION] in res.keys(): connection_status = res[return_key[RESTCONF_VERSION]][0]['netconf-node-topology:connection-status'] else: > connection_status = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:376: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_11_xpdr_device_disconnected _____ TransportPCE400GPortMappingTesting.test_12_xpdr_device_not_connected _____ self = def test_12_xpdr_device_not_connected(self): > response = test_utils.get_portmapping_node_attr("XPDR-A2", "node-info", None) transportpce_tests/7.1/test01_portmapping.py:183: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = 'XPDR-A2', attr = 'node-info', value = None def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] else: > return_output = res['errors']['error'][0] E KeyError: 'errors' transportpce_tests/common/test_utils.py:477: KeyError ----------------------------- Captured stdout call ----------------------------- execution of test_12_xpdr_device_not_connected --------------------------- Captured stdout teardown --------------------------- all processes killed =========================== short test summary info ============================ FAILED transportpce_tests/7.1/test01_portmapping.py::TransportPCE400GPortMappingTesting::test_01_xpdr_device_connection FAILED transportpce_tests/7.1/test01_portmapping.py::TransportPCE400GPortMappingTesting::test_02_xpdr_device_connected FAILED transportpce_tests/7.1/test01_portmapping.py::TransportPCE400GPortMappingTesting::test_03_xpdr_portmapping_info FAILED transportpce_tests/7.1/test01_portmapping.py::TransportPCE400GPortMappingTesting::test_04_tpdr_portmapping_NETWORK1 FAILED transportpce_tests/7.1/test01_portmapping.py::TransportPCE400GPortMappingTesting::test_05_tpdr_portmapping_CLIENT1 FAILED transportpce_tests/7.1/test01_portmapping.py::TransportPCE400GPortMappingTesting::test_06_mpdr_portmapping_NETWORK1 FAILED transportpce_tests/7.1/test01_portmapping.py::TransportPCE400GPortMappingTesting::test_07_mpdr_portmapping_CLIENT1 FAILED transportpce_tests/7.1/test01_portmapping.py::TransportPCE400GPortMappingTesting::test_08_check_mccapprofile FAILED transportpce_tests/7.1/test01_portmapping.py::TransportPCE400GPortMappingTesting::test_09_mpdr_switching_pool FAILED transportpce_tests/7.1/test01_portmapping.py::TransportPCE400GPortMappingTesting::test_10_xpdr_device_disconnection FAILED transportpce_tests/7.1/test01_portmapping.py::TransportPCE400GPortMappingTesting::test_11_xpdr_device_disconnected FAILED transportpce_tests/7.1/test01_portmapping.py::TransportPCE400GPortMappingTesting::test_12_xpdr_device_not_connected 12 failed in 395.80s (0:06:35)